package xyz.xtt.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 订单退款记录表
 * </p>
 *
 * @author dale
 * @since 2025-01-16
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
@TableName("tbl_pay_order_refund_record")
@ApiModel(value = "TblPayOrderRefundRecord对象", description = "订单退款记录表")
public class TblPayOrderRefundRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "refund_id", type = IdType.AUTO)
    private Long refundId;

    @ApiModelProperty(value = "支付订单id")
    private Long payOrderId;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundMoney;

    @ApiModelProperty(value = "退款原因，以及其他备注信息")
    private String refundRemark;

    @ApiModelProperty(value = "退款状态 0：待退款 1：退款中 2：退款成功 3：退款失败")
    private Integer refundStatus;

    @ApiModelProperty(value = "退款操作人id（系统退款传SYSTEM）")
    private String operator;

    @ApiModelProperty(value = "退款发起时间")
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    private Long updateTime;
}
